package com.yyfax.pay.common.util;

import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * 限额工具类
 * 
 * @author buyi
 * @date 2017-05-03 19:07:19
 * @since v1.0.0
 */
public class QuotaUtil {

	/** 分单位，1万表示 */
	private static final int TEN_THOUSAND_CENT = 1000000;

	/**
	 * 金额转换<br>
	 * 如果金额 amount为空，或者为空0，则返回“无限额”；
	 * 如果金额超过万，则缩略显示xx万
	 * 
	 * @author buyi
	 * @date 2017-05-03 19:09:30
	 * @since v1.0.0
	 * @param amount 单位：分
	 * @param digits 精度长度（小数点后几位）
	 * @return
	 */
	public static String covertToCN(Integer amount, int digits) {
		if (amount == null || amount == 0) {
			return "无限额";
		}

		StringBuilder format = new StringBuilder("#0");
		if (digits > 0) {
			format.append(".");
			for (int i = 0; i < digits; i++) {
				format.append("0");
			}
		}

		// DecimalFormat decimalFormat = new java.text.DecimalFormat("#.00");
		DecimalFormat decimalFormat = new java.text.DecimalFormat(format.toString());

		if (amount >= TEN_THOUSAND_CENT) { // 如果金额超过1万
			return decimalFormat.format((double) (amount) / TEN_THOUSAND_CENT) + "万";
		} else {
			return decimalFormat.format((double) (amount) / 100); // 分转换成元
		}
	}
}
